/*  This file is part of -_-.

    -_- is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    -_- is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with -_-.  If not, see <http://www.gnu.org/licenses/>.

    Copyright 2012-2013 Oliver Katz */

#include <iostream>
#include <stdio.h>

extern "C"
{
    #include "share.h"
}

#include <gtest/gtest.h>

using namespace std;

TEST(shareServer, server)
{
    char *varcontent = (char *)"hello, world";
    z_data var = z_data_init(Z_TYPEID_STR, (strlen(varcontent)+1)*sizeof(char));
    z_data_src_set(&var, varcontent);

    z_ipc_server ipc = z_ipc_server_init_global(8950);
    ASSERT_FALSE(z_ipc_server_connect(&ipc));

    z_share_server srv = z_share_server_init(&ipc, 1);
    ASSERT_FALSE(z_share_server_bind_rw(&srv, 0, &var));
    ASSERT_FALSE(z_share_server_serve(&srv));
}

int main(int argc, char *argv[])
{
    ::testing::InitGoogleTest(&argc, argv);
	return RUN_ALL_TESTS();
}
